﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace ImageTagEditor
{
	/// <summary>
	/// Interaction logic for TaskDialog.xaml
	/// </summary>
	public partial class TaskDialog : Window
	{
		public TaskDialog()
		{
			InitializeComponent();
		}



		/// <summary>
		/// Get or set the Caption
		/// </summary>
		public string Caption
		{
			get { return (string)GetValue(CaptionProperty); }
			set { SetValue(CaptionProperty, value); }
		}

		/// <summary>
		/// Identifies the Caption dependency property
		/// </summary>
		public static readonly DependencyProperty CaptionProperty =
			DependencyProperty.Register("Caption", typeof(string), typeof(TaskDialog), new UIPropertyMetadata(""));

		/// <summary>
		/// Get or set the Message
		/// </summary>
		public object Message
		{
			get { return (string)GetValue(MessageProperty); }
			set { SetValue(MessageProperty, value); }
		}

		/// <summary>
		/// Identifies the Message dependency property
		/// </summary>
		public static readonly DependencyProperty MessageProperty =
			DependencyProperty.Register("Message", typeof(object), typeof(TaskDialog), new UIPropertyMetadata(""));


		/// <summary>
		/// Get or set the FootNote
		/// </summary>
		public string FootNote
		{
			get { return (string)GetValue(FootNoteProperty); }
			set { SetValue(FootNoteProperty, value); }
		}

		/// <summary>
		/// Identifies the FootNote dependency property
		/// </summary>
		public static readonly DependencyProperty FootNoteProperty =
			DependencyProperty.Register("FootNote", typeof(string), typeof(TaskDialog), new UIPropertyMetadata(""));


		/// <summary>
		/// Get or set the FootNote
		/// </summary>
		public Visibility CancelButtonVisibility
		{
			get { return (Visibility)GetValue(CancelButtonVisibilityProperty); }
			set { SetValue(CancelButtonVisibilityProperty, value); }
		}

		/// <summary>
		/// Identifies the CancelButtonVisibility dependency property
		/// </summary>
		public static readonly DependencyProperty CancelButtonVisibilityProperty =
			DependencyProperty.Register("CancelButtonVisibility", typeof(Visibility), typeof(TaskDialog), new UIPropertyMetadata(Visibility.Collapsed));



		#region button listeners

		/// <summary>
		/// Listens for when the ok button is clicked and sets the dialog
		/// result to true
		/// </summary>
		/// <param name="sender">Not Used</param>
		/// <param name="e">Not Used</param>
		private void okButton_Click(object sender, RoutedEventArgs e)
		{
			DialogResult = true;
		}


		/// <summary>
		/// Listens for when the cancel button is clicked and sets the dialog
		/// result to false
		/// </summary>
		/// <param name="sender">Not Used</param>
		/// <param name="e">Not Used</param>
		private void cancelButton_Click(object sender, RoutedEventArgs e)
		{
			DialogResult = false;
		}

		#endregion
	}
}
